﻿/**
 *	\file		recurrence.h
 *	\date		(2014-12-30 17:31:00)/(2014-12-30 17:31:00)
 *-----------------------------------------------------------------------------
 *	\brief
 *	\version	1.0.0.1
 *	\author		Nick Shallery	(nicknide@gmail.com)
 *	\copyright	YOU HAVE ALL LEFT WITH THIS CODE WHILE YOU KEEP COMMENT IN EVERY COPY.
 *-----------------------------------------------------------------------------
**/

#if			!defined(__LOLIX__SAMSARA__RECURRENCE__H__NICK__K_IN_G__)
#define		__LOLIX__SAMSARA__RECURRENCE__H__NICK__K_IN_G__

#if			!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)
#	include	<lolix/lolix_type.h>
#endif	//	!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)

namespace lxsamsara{class dream; class recurrence;}

class LOLIX_NO_VTABLE lxsamsara::recurrence
	: public lolix::itf
{
	LOLIX_DECLARE_ITF(lxsamsara::recurrence, lolix::itf, (0xb887fd9d, 0x91124a84, 0x83079346, 0x3f0c8c4f));
public:
	/**
	* \brief	打盹.
	*			设定当前的位置作为起始点，如果需要返回到这儿，则将梦戳破吧.
	* \arg	out_ptr	返回的梦境，如果是梦境被打破，则这个地方返回的是空
	* \return	返回是否成功进入梦境(设定当前的上下文信息)
	*			LOLIX_IS_ERROR(*) 表示进入失败
	*			LOLIX_INFO_REOPERATOR 表示已经是从梦境返回了
	*			其他则表示进入成功
	**/
	LOLIX_INTERFACE(nap, LOLIX_RETNV, (dream** out_ptr)const);
};

#endif	//	!defined(__LOLIX__SAMSARA__RECURRENCE__H__NICK__K_IN_G__)
